博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django 模板中url的处理
阅读量:5892 次
发布时间:2019-06-19

本文共 1083 字,大约阅读时间需要 3 分钟。

在模板中直接添加‘/home’这样的链接是十分不推荐的,因为这是一个相对的链接,在不同网页中打开可能会返回不一样的结果。

所以推荐的是

这种方式,或者

这里第二种方式同时需要在urls.py中设置,

url(r'^article/(?P
[0-9]+)/$', article, name='article'),

同时对应的article_view应该有2个参数(request, pk)

  

 

get_absolute_url是一个方法,需要在model里声明一下;下面是官方的推荐使用方式

 

不推荐

# 不推荐 def get_absolute_url(self):    return "/people/%i/" % self.id # 推荐
def get_absolute_url(self):    from django.core.urlresolvers import reverse return reverse('people.views.details', args=[str(self.id)]) # 不推荐
def get_absolute_url(self):    return '/%s/' % self.name
{ { object.name }} # 推荐

  

更具体的可以参考一下 https://github.com/the5fire/django_selfblog/blob/master/selfblog/blog/models.py

这里作者使用了“伪静态url”,get_absolute_url方法如下:

def get_absolute_url(self):        return '%s/%s.html' % (settings.DOMAIN, self.alias)

alias是自己设置的,生成的链接就是: http://example.com/alias这种,由于一篇文章的链接是固定的,所以看上去像静态页面一样  

  

参考链接:

https://github.com/the5fire/django_selfblog

http://huacnlee.com/blog/django-url-routes-and-get-absolute-url/

https://docs.djangoproject.com/en/1.9/ref/models/instances/

转载地址:http://knfsx.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
tomcat指南之jdk
查看>>
Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
查看>>
Cocos2d-x开发中关于资源的预加载的一点补充
查看>>
CAS实现SSO单点登录原理
查看>>
Vant Weapp的dialog组件在mpvue小程序中使用注意事项
查看>>
Linux Postfix 全面安装指导手册之六
查看>>
Windows 10体验:IE界面
查看>>
Docker主机升级到4.9版本内核,使用Overlayfs取代Devicemapper
查看>>
nginx变量学习记录
查看>>
phpcms 2008 GET标签使用
查看>>
ubuntu下安装open***
查看>>
苹果的http流媒体技术
查看>>
哈希算法之字符串随机生成
查看>>
激励着我的几句话
查看>>
VM中CentOS7本地配置yum源方法
查看>>
36补 varnish程序解雇及配置初步、vcl使用详解及varnish命令行工具
查看>>
用 RPM 打包软件,第 1 部分
查看>>
备忘:uploadify不兼容IE11
查看>>
Centos6 关闭IPV6
查看>>